Neural network technology represents an attempt to model the processing mechanism of the human brain. Basically, a neural network consists of a large number of very simple processors (called processing elements, or PEs) connected together in a complex manner. Each processing element generally has a number of inputs, each of which has a weight associated with it. The PE computes a sum of its weighted inputs, and this sum is applied to a transfer (or "activation") function as illustrated in FIG. 1.
The output of this transfer function is then passed along to other PEs in the network. Weights are typically signed real numbers, and the transfer function is often a sigmoid function, although others can be used.
By appropriately defining the interconnections between many PEs, a multi-layered neural network can be created as illustrated in FIG. 2. The network shown in FIG. 2 is called a "three-layer, fully-interconnected, feed-forward network" because there are three distinct layers, each PE is connected to every PE in the next layer, and no PE is connected to any PE in the same or preceding layers. No calculations are performed by the elements in the input layer; this layer serves only to distribute the input values to all of the PEs in the next layer. The middle layer is referred to as a "hidden layer" because the PEs in this layer do not interface with the outside environment. Many other types of network architectures are possible, but this is one of the most common.
When the network is learning, the weights associated with the interconnections are changed until the network produces the desired outputs. There exists a variety of different learning algorithms, but the most widely used is one called "back-propagation." In the back-propagation algorithm, a training pair (consisting of a vector of input values together with a vector of desired output values) is selected, and the input vector is applied to the network's input layer. This input vector is propagated forward through the network (with the output of each PE being calculated in the manner described above) until the vector of the network's output layer is obtained. The error between the actual output vector and the desired output vector is then propagated backward through the network, and the weights are adjusted in a specific way so as to reduce the error. This process is repeated until the error for all training pairs is acceptably small.
Neural networks have a number of desirable properties:
A neural network "learns" by being shown examples, not by being programmed. There is little need for traditional algorithm development and computer programming effort. System development time may therefore be reduced. Several processing steps can often be performed by one multi-layered neural network or, in some cases, eliminated completely. System complexity may therefore be reduced.
Neural network computation is massively parallel in nature, and a neural network can be implemented directly in hardware. System response time may therefore by improved.
A neural network's performance degrades gracefully as network components malfunction. System fault tolerance may therefore be improved.
A neural network has an ability to "generalize", which enables it to produce a reasonable output when presented with incomplete, noisy, or previously unseen inputs. System robustness may therefore be increased.
The U.S. Pat. No. 5,093,792, to Taki et al, discloses an apparatus for predicting and discriminating whether or not misfire will occur from the cylinder pressure before the occurrence of the misfire, by the use of a three layered neural network. The cylinder pressure signal detected by a cylinder pressure sensor is sampled and input to each of the elements of the input layer. The signal then is modulated corresponding to the strength (weight) of the connection between each of the elements, and transmitted to the hidden and output layers. The magnitude of signal from the elements of the output layer represents prediction and discrimination results. The weight is learned and determined by a back propagation method.
The U.S. Pat. No. 5,041,976, to Marko et al, discloses a diagnostic system which uses pattern recognition, such as a neural network, for electronic automotive control systems.
The U.S. Pat. No. 5,022,898, to Yuhara et al, discloses a method of controlling a motor vehicle having an engine, with a neural network which has a learning capability. An operation condition of the motor vehicle is controlled based on a predicted value of a throttle valve opening, which is represented by a periodically produced output signal from the neural network.
Supplemental Inflatable Restraint (SIR) systems are widely used in motor vehicles. Controllers for use in such SIR systems should be robust and immune to unwanted deployment. A velocity boundary curve (VBC) algorithm used in an electronic crash sensor is disclosed in U.S. patent application Ser. No. 07/798,487, filed Nov. 26, 1991, now abandoned, assigned to General Motors Corporation and incorporated herein by reference. The sensor disclosed therein utilizes acceleration signals measured by a micromachined accelerometer located in the controller that is mounted in the vehicle passenger compartment as illustrated in FIG. 3. In order to achieve timely discrimination, the VBC utilizes four threshold curves digitized and stored in calibration lookup tables. The acceleration signal is digitized, then transformed into forms of jerk, acceleration, and velocity that are compared to four boundary curves that represent thresholds for absolute integral of jerk, partial energy, occupant-to-vehicle relative velocity, and a reset velocity parameter. These four thresholds are values that are based on the deployment and non-deployment crashes, rough road signals, and abuse signals used for calibration.